#include <stdio.h>

/**
 * @description: 交换函数
 * @param {int*} x
 * @param {int*} y
 * @return {*}  无
 */
void Swap(int* x, int* y)
{
    int temp = 0;
    temp = *x;
    *x = *y;
    *y = temp;
}

/**
 * @description: 快速排序
 * @param {int*} arr   要排序的数组
 * @param {int} arr_len  数组的长度
 * @return {*} 无
 */
void SelectSort(int* arr, int arr_len)
{
    int i = 0;
    int j = 0;
    int mini = 0;
    for(i = 0; i < arr_len-1; i++)     //排序趟数
    {
        mini = i;
        for(j = i+1; j < arr_len; j++)   //寻找最小值
        {
            if(arr[j] < arr[mini])
            {
                mini = j;
            }
        }
        Swap(&arr[i],&arr[mini]);   //最小值交换位置
    }
}

int main()
{
    int i = 0;
    int arr[] = {37,3,9,52,49,6,7,16,23,66,81,91};       //要排序的数组
    int arr_len = sizeof(arr) / sizeof(arr[0]);          //计算数组的长度
    SelectSort(arr,arr_len);

    for(i = 0; i < arr_len; i++)
    {
        printf("%d\n",arr[i]);                          //输出数组
    }
}